package com.itheima.service;

import com.itheima.pojo.entity.Clazz;
import com.itheima.pojo.query.ClazzQueryParam;
import com.itheima.pojo.entity.PageResult;

import java.util.List;

/**
 * @author zzw
 * @date 2025/4/23
 * @description 班级服务接口
 */

public interface ClazzService {

    /**
     * 查询所有班级
     *
     * @return List<Clazz> 班级列表
     */
    List<Clazz> list();

    /**
     * 根据id删除班级
     *
     * @param id 班级id
     */
    void delete(Integer id);

    /**
     * 添加班级
     *
     * @param clazz 班级对象
     */
    void save(Clazz clazz);

    /**
     * 根据id查询班级
     *
     * @param id 班级id
     * @return Clazz 班级对象
     */
    Clazz getById(Integer id);

    /**
     * 更新班级信息
     *
     * @param clazz 班级对象
     */
    void update(Clazz clazz);

    /**
     * 分页查询班级
     *
     * @param clazzQueryParam 查询参数
     * @return PageResult<Clazz> 分页结果
     */
    PageResult<Clazz> page(ClazzQueryParam clazzQueryParam);
}
